//package com.lsq.wuyuge.config;
//
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.web.cors.CorsConfiguration;
//import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
//import org.springframework.web.filter.CorsFilter;
//
///**
// * 跨域配置
// */
//@Configuration
//public class CorsConfig {
//
//    @Value("${blog.cors.allowed-origins}")
//    private String allowedOrigins;
//
//    @Value("${blog.cors.allowed-methods}")
//    private String allowedMethods;
//
//    @Value("${blog.cors.allowed-headers}")
//    private String allowedHeaders;
//
//    @Value("${blog.cors.allow-credentials}")
//    private Boolean allowCredentials;
//
//    @Value("${blog.cors.max-age}")
//    private Long maxAge;
//
//    @Bean
//    public CorsFilter corsFilter() {
//        CorsConfiguration config = new CorsConfiguration();
//        // 设置允许跨域的域名
//        if ("*".equals(allowedOrigins)) {
//            config.addAllowedOriginPattern("*");
//        } else {
//            String[] origins = allowedOrigins.split(",");
//            for (String origin : origins) {
//                config.addAllowedOrigin(origin);
//            }
//        }
//
//        // 设置允许的请求方法
//        if ("*".equals(allowedMethods)) {
//            config.addAllowedMethod("*");
//        } else {
//            String[] methods = allowedMethods.split(",");
//            for (String method : methods) {
//                config.addAllowedMethod(method);
//            }
//        }
//
//        // 设置允许的请求头
//        if ("*".equals(allowedHeaders)) {
//            config.addAllowedHeader("*");
//        } else {
//            String[] headers = allowedHeaders.split(",");
//            for (String header : headers) {
//                config.addAllowedHeader(header);
//            }
//        }
//
//        // 是否允许发送Cookie
//        config.setAllowCredentials(allowCredentials);
//        // 预检请求的缓存时间（秒）
//        config.setMaxAge(maxAge);
//
//        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
//        source.registerCorsConfiguration("/**", config);
//
//        return new CorsFilter(source);
//    }
//}